Runtime Integrity Checking for Exploit Mitigation on Lightweight Embedded Devices
نویسندگان
چکیده
Entering the age of the Internet of things, embedded devices are everywhere. They are built using common hardware such as RISC-based ARM and MIPS platforms, and lightweight open software components. Because of their limited resources, such systems often lack the protection mechanisms that have been introduced to the desktop and server world. In this paper, we present BINtegrity, a novel approach for exploit mitigation that is specifically tailored towards embedded systems that are based on the common RISC architecture. BINtegrity leverages architectural features of RISC CPUs to extract a combination of static and dynamic properties relevant to OS service requests from executables, and enforces them during runtime. Our technique borrows ideas from several areas including system call monitoring, static analysis, and code emulation, and combines them in a low-overhead fashion directly in the operating system kernel. We implemented BINtegrity for the Linux operating system. BINtegrity is practical, and restricts the ability of attackers to exploit generic memory corruption vulnerabilities in COTS binaries. In contrast to other approaches, BINtegrity does not require access to source code, binary modification, or application specific configuration such as policies. Our evaluation demonstrates that BINtegrity incurs a very low overhead – only 2%, – and shows that our approach mitigates both code injection and code reuse attacks.
منابع مشابه
OEI: Operation Execution Integrity for Embedded Devices
We formulate a new security property, called “Operation Execution Integrity” or OEI, tailored for embedded devices. Inspired by the operation-oriented design of embedded programs and considering the limited hardware capabilities of embedded devices, OEI attestation enables selective and practical verification of both control-flow integrity and critical-variable integrity for an operation being ...
متن کاملoccam for reliable embedded systems: lightweight runtimes and model checking
We describe some more recent developments of the SPoC system. We describe a new module in the occam compiler which performs substantial simplifications of the run-time demands made by the compiled code. This has been used successfully both to target a simple PIC microcontroller and to generate input for the SMV model checker.
متن کاملA Run-Time Reconfigurable Architecture for Embedded Program Flow Verification
Poorly written software can pose a serious security risk. Applications designed for embedded processors are especially vulnerable, as they tend to be written in lower-level languages for which security features such as runtime array bounds checking are typically not included. The problem is exacerbated by the fact that these potentially insecure embedded applications are widely deployed in a va...
متن کاملAn Incentive-Aware Lightweight Secure Data Sharing Scheme for D2D Communication in 5G Cellular Networks
Due to the explosion of smart devices, data traffic over cellular networks has seen an exponential rise in recent years. This increase in mobile data traffic has caused an immediate need for offloading traffic from operators. Device-to-Device(D2D) communication is a promising solution to boost the capacity of cellular networks and alleviate the heavy burden on backhaul links. However, dir...
متن کاملIncremental Bounded Model Checking for Embedded Software (extended version)
Program analysis is on the brink of mainstream in embedded systems development. Formal verification of behavioural requirements, finding runtime errors and automated test case generation are some of the most common applications of automated verification tools based on Bounded Model Checking. Existing industrial tools for embedded software use an off-the-shelf Bounded Model Checker and apply it ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016